var app = angular.module('project', 
		[ 'ngRoute', 'ngSanitize', 'ui.bootstrap', 'ui.select', 'dialogs.main', 
		  'pascalprecht.translate', 'dialogs.default-translations' ]);

app.config(['$routeProvider', function($routeProvider) {
	
	//-- Login
	$routeProvider.when('/login', {
		templateUrl : 'pages/login.html',
		controller: 'loginController'
	});
	
	//-- Home
	$routeProvider.when('/home', {
		templateUrl : 'pages/home.html',
		controller: 'homeController'
	});

	//-- Pessoa
	$routeProvider.when('/pessoa', {
		templateUrl : 'pages/cadastro/pessoa.html',
		controller: 'pessoaController'
	});
	
	//-- Condominio
	$routeProvider.when('/condominio', {
		templateUrl : 'pages/cadastro/condominio.html',
		controller: 'condominioController'
	});

	//-- Imovel
	$routeProvider.when('/imovel', {
		templateUrl : 'pages/cadastro/imovel.html',
		controller: 'imovelController'
	});

	//-- Ramo Atividade
	$routeProvider.when('/ramoAtividade', {
		templateUrl : 'pages/cadastro/ramoAtividade.html',
		controller: 'ramoAtividadeController'
	});

	//-- Fornecedor
	$routeProvider.when('/fornecedor', {
		templateUrl : 'pages/cadastro/fornecedor.html',
		controller: 'fornecedorController'
	});
	
	//-- Grupo
	$routeProvider.when('/grupo', {
		templateUrl : 'pages/financeiro/grupo.html',
		controller: 'grupoController'
	});

	//-- Subgrupo
	$routeProvider.when('/subgrupo', {
		templateUrl : 'pages/financeiro/subgrupo.html',
		controller: 'subgrupoController'
	});

	//-- Subgrupo
	$routeProvider.when('/classe', {
		templateUrl : 'pages/financeiro/classe.html',
		controller: 'classeController'
	});
	
	//-- Hitorico
	$routeProvider.when('/historico', {
		templateUrl : 'pages/financeiro/historico.html',
		controller: 'historicoController'
	});

	//-- Tipo Titulo
	$routeProvider.when('/tipoTitulo', {
		templateUrl : 'pages/financeiro/tipoTitulo.html',
		controller: 'tipoTituloController'
	});

	//-- Banco
	$routeProvider.when('/banco', {
		templateUrl : 'pages/financeiro/banco.html',
		controller: 'bancoController'
	});

	//-- Conta
	$routeProvider.when('/conta', {
		templateUrl : 'pages/financeiro/conta.html',
		controller: 'contaController'
	});

	//-- Titulo
	$routeProvider.when('/titulo', {
		templateUrl : 'pages/financeiro/titulo.html',
		controller: 'tituloController'
	});

	//-- Baixa
	$routeProvider.when('/baixa', {
		templateUrl : 'pages/financeiro/baixa.html',
		controller: 'baixaController'
	});
	
	//-- CaixaBanco
	$routeProvider.when('/caixaBanco', {
		templateUrl : 'pages/financeiro/caixaBanco.html',
		controller: 'caixaBancoController'
	});

	//-- CaixaBanco
	$routeProvider.when('/balancete', {
		templateUrl : 'pages/financeiro/balancete.html',
		controller: 'balanceteController'
	});
	
	//-- Default
	$routeProvider.otherwise ({
		redirectTo: 'login'
	});
	
} ]);

app.run(function($rootScope, $location, $window, loginService, sessionService) {
	
	var rootespermission = ['', '/home', '/login',
	                        	'/ramoAtividade', '/pessoa', '/condominio', '/imovel', '/fornecedor', 
	                        	'/grupo', '/subgrupo', '/historico', '/tipoTitulo', '/banco', '/conta', 
	                        	'/titulo', '/baixa', '/caixaBanco', '/balancete', '/classe'];

	$rootScope.$on('$routeChangeStart', function() {

		if( rootespermission.indexOf($location.path()) != -1) {
			
			var sessionActive = loginService.isLogged();
			sessionActive.then(function(resposta) {
				sessionService.set('isLogged', resposta.data.status);
				if(!resposta.data.status) {
					$location.path('login');
				}
			});
		} else {
			$location.path('login');
		};
	});
});
